package com.taptech.doufu.ui.view.theme.editnovel;

import android.util.SparseArray;

/**
 * Created by Wyatt on 2017/11/25/025.
 */

public class EditNovelTheme {
    //主题类型
    private int themeType = 1;
    //书页背景颜色或图片
    private int contentBg;
    //内容字体颜色
    private int contentFontColor;
    //分割线颜色
    private int lineColor;

    //进度条前景颜色
    private int seekBarProgressColor;
    //进度条滑块图片
    private int seekBarImage;

    //顶部菜单
    private TopBarTheme topBarTheme;
    //底部菜单
    private BottomBarTheme bottomBarTheme;

    private PunctuationTheme punctuationTheme;

    private MenuTheme menuTheme;

    private int hintColor;

    public PunctuationTheme getPunctuationTheme() {
        return punctuationTheme;
    }

    public void setPunctuationTheme(PunctuationTheme punctuationTheme) {
        this.punctuationTheme = punctuationTheme;
    }

    public int getHintColor() {
        return hintColor;
    }

    public void setThemeType(int themeType) {
        this.themeType = themeType;
    }


    public int getThemeType() {
        return themeType;
    }


    public int getContentBg() {
        return contentBg;
    }

    public int getContentFontColor() {
        return contentFontColor;
    }


    public int getLineColor() {
        return lineColor;
    }

    public BottomBarTheme getBottomBarTheme() {
        return bottomBarTheme;
    }

    public MenuTheme getMenuTheme() {
        return menuTheme;
    }

    public int getSeekBarProgressColor() {
        return seekBarProgressColor;
    }

    public int getSeekBarImage() {
        return seekBarImage;
    }

    public TopBarTheme getTopBarTheme() {
        return topBarTheme;
    }




    public EditNovelTheme(int themeType, int contentBg, int contentFontColor, int lineColor,int hintColor,
                          int seekBarProgressColor, int seekBarImage, TopBarTheme topBarTheme,
                          BottomBarTheme bottomBarTheme,MenuTheme menuTheme,PunctuationTheme punctuationTheme) {
        this.themeType = themeType;
        this.contentBg = contentBg;
        this.contentFontColor = contentFontColor;
        this.lineColor = lineColor;
        this.seekBarProgressColor = seekBarProgressColor;
        this.seekBarImage = seekBarImage;
        this.topBarTheme = topBarTheme;
        this.bottomBarTheme = bottomBarTheme;
        this.menuTheme = menuTheme;
        this.hintColor = hintColor;
        this.punctuationTheme = punctuationTheme;
    }




    public static class TopBarTheme {
        //返回按钮图片
        private int backImage;
        private int undoImage;
        private int undoSelectImage;
        private int redoImage;
        private int redoSelectImage;
        private int clockImage;
        private int saveImage;
        private int fontGrayColor;
        private int fontRedColor;
        private int verticalLineImage;
        private int bgColor;
        private int formatImage;
        private int sensitiveImage;

        public TopBarTheme(int bgColor, int backImage, int undoImage, int undoSelectImage, int redoImage, int redoSelectImage,
                           int clockImage, int saveImage, int fontGrayColor, int fontRedColor, int verticalLineImage,
                           int formatImage,int sensitiveImage) {
            this.bgColor = bgColor;
            this.backImage = backImage;
            this.undoImage = undoImage;
            this.redoImage = redoImage;
            this.undoSelectImage = undoSelectImage;
            this.redoSelectImage = redoSelectImage;
            this.saveImage = saveImage;
            this.clockImage = clockImage;
            this.fontGrayColor = fontGrayColor;
            this.fontRedColor = fontRedColor;
            this.verticalLineImage = verticalLineImage;
            this.formatImage = formatImage;
            this.sensitiveImage = sensitiveImage;
        }

        public int getVerticalLineImage() {
            return verticalLineImage;
        }

        public int getFormatImage() {
            return formatImage;
        }

        public int getBgColor() {
            return bgColor;
        }

        public int getUndoImage() {
            return undoImage;
        }

        public int getUndoSelectImage() {
            return undoSelectImage;
        }

        public int getRedoImage() {
            return redoImage;
        }

        public int getRedoSelectImage() {
            return redoSelectImage;
        }

        public int getClockImage() {
            return clockImage;
        }

        public int getSaveImage() {
            return saveImage;
        }

        public int getFontGrayColor() {
            return fontGrayColor;
        }

        public int getFontRedColor() {
            return fontRedColor;
        }


        public int getBackImage() {
            return backImage;
        }

        public int getSensitiveImage() {
            return sensitiveImage;
        }
    }



    public static class BottomBarTheme {

        //夜间图片
        private int nightImage;
        //设置图片
        private int setImage;
        private int authorSayImage;
        private int historyImage;
        private int fontGrayColor;
        private int bgColor;
        private float alpha;

        public BottomBarTheme(int nightImage, int setImage, int historyImage, int fontGrayColor, int bgColor, float alpha, int authorSayImage) {
            this.nightImage = nightImage;
            this.setImage = setImage;
            this.authorSayImage = authorSayImage;
            this.historyImage = historyImage;
            this.fontGrayColor = fontGrayColor;
            this.bgColor = bgColor;
            this.alpha = alpha;
        }



        public int getNightImage() {
            return nightImage;
        }

        public int getSetImage() {
            return setImage;
        }

        public int getAuthorSayImage() {
            return authorSayImage;
        }

        public int getHistoryImage() {
            return historyImage;
        }

        public int getFontGrayColor() {
            return fontGrayColor;
        }

        public int getBgColor() {
            return bgColor;
        }

        public float getAlpha() {
            return alpha;
        }
    }


    public static class PunctuationTheme{
        private int bgColor;
        private int lineColor;
        private int keyboardImage;

        public PunctuationTheme(int bgColor,  int lineColor, int keyboardImage) {
            this.bgColor = bgColor;
            this.lineColor = lineColor;
            this.keyboardImage = keyboardImage;
        }

        public int getBgColor() {
            return bgColor;
        }

        public int getLineColor() {
            return lineColor;
        }


        public int getKeyboardImage() {
            return keyboardImage;
        }

    }


    public static class MenuTheme {
        //降低亮度图片
        private int lowLightImage;
        //增强亮度图片
        private int highLightImage;
        //选中系统亮度字体颜色
        private int sysLightFCSelect;
        //未选中系统亮度字体颜色
        private int sysLightFCUnSelect;
        //系统亮度背景
        private int sysLightBg;
        //增大字体图片
        private int addFontSizeImage;
        //减小字体图片
        private int subFontSizeImage;
        //主题选择列表的透明度
        private float themeListAlpha;
        private SparseArray<Integer> themeSelectArray;
        private int themeSelectIcon;
        private int bgColor;

        public MenuTheme(int bgColor,int lowLightImage, int highLightImage, int addFontSizeImage,
                         int subFontSizeImage, SparseArray<Integer> themeSelectArray, int themeSelectIcon,
                         float themeListAlpha, int sysLightFCSelect, int sysLightFCUnSelect, int sysLightBg) {
            this.bgColor = bgColor;
            this.lowLightImage = lowLightImage;
            this.highLightImage = highLightImage;
            this.addFontSizeImage = addFontSizeImage;
            this.subFontSizeImage = subFontSizeImage;
            this.themeListAlpha = themeListAlpha;
            this.sysLightFCSelect = sysLightFCSelect;
            this.sysLightFCUnSelect = sysLightFCUnSelect;
            this.sysLightBg = sysLightBg;
            this.themeSelectArray = themeSelectArray;
            this.themeSelectIcon = themeSelectIcon;
        }



        public int getThemeSelectIcon() {
            return themeSelectIcon;
        }

        public int getBgColor() {
            return bgColor;
        }

        public int getSysLightFCSelect() {
            return sysLightFCSelect;
        }

        public int getSysLightFCUnSelect() {
            return sysLightFCUnSelect;
        }

        public int getSysLightBg() {
            return sysLightBg;
        }

        public float getThemeListAlpha() {
            return themeListAlpha;
        }

        public int getLowLightImage() {
            return lowLightImage;
        }

        public int getHighLightImage() {
            return highLightImage;
        }

        public int getAddFontSizeImage() {
            return addFontSizeImage;
        }

        public int getSubFontSizeImage() {
            return subFontSizeImage;
        }

        public SparseArray<Integer> getThemeSelectArray() {
            return themeSelectArray;
        }
    }


}
